Sequential coupling

In object-oriented programming, sequential coupling refers to a class that requires its methods to be called in a particular sequence. This may be an anti-pattern, depending on context.

Methods whose name starts with Init, Begin, Start, etc. may indicate the existence of sequential coupling.

Using a car as an analogy, if the user steps on the gas without first starting the engine, the car does not crash, fail, or throw an exception - it simply fails to accelerate.

Side Note: Exceptions are acceptable some of the time because programs (especially large ones) need the feedback to determine why an object is not performing the expected behavior when one of its methods is called. Object initialization is not always possible at construction and may need to be delayed to a later time. The programmer using a class may not be the same programmer who wrote it.

Sequential coupling can be refactored with the Template method pattern to overcome the problems posed by the usage of this anti-pattern.[1]

References